const discussService = require('../service/discuss.service');

class DiscussController {

  // 创建一条评论
  async create(ctx, next) {
    // 1.获取参数
    const {content, articleId} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await discussService.create(id, content, articleId);
    // 3.返回结果
    ctx.body = result;
  }

  // 回复一条评论
  async reply(ctx, next) {
    // 1.获取参数
    const {content, articleId, discussId} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await discussService.reply(id, content, articleId, discussId);
    // 3.返回结果
    ctx.body = result;
  }

  // 删除一条评论
  async remove(ctx, next) {
    // 1.获取参数
    const {discussId} = ctx.params;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await discussService.remove(id, discussId);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取评论列表
  async list(ctx, next) {
    // 1.获取参数
    const {articleId, offset, limit} = ctx.query;
    // 2.操作数据库
    const result = await discussService.list(articleId, offset, limit);
    // 3.返回结果
    ctx.body = result;
  }

}

module.exports = new DiscussController();
